<!--
 * @FilePath     : /study_code/layui/6-3-13.html
 * @Description  : layer.getChildFrame()
 * @Date         : 2025-04-08 17:33:58
 * @Author       : Fang YingGui
 * @LastEditors  : fangyinggui 18715384437@163.com
 * @LastEditTime : 2025-04-09 08:46:00
-->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>documentName</title>
    <link rel="stylesheet" href="/layui/dist/css/layui.css" />
  </head>
  <body>
    <script src="/layui/dist/layui.js"></script>
    <script>
      /**
       * @brief: （当前页）获取 ifram页的 DOM元素
       * !这里的 demo 需要服务端支持，否则会报跨域错误；
       * @param {String} selector 选择器，即需要获取的iframe页的 元素的选择器
       * @param {Number} index 弹出层索引值
       * @return {*}
       */
      // var body = layer.getChildFrame("body", index);

      // 此 demo 需要运行根目录的 node 启的 web 服务器

      layer.open({
        type: 2,
        content: '/layui/layer/6313/iframe.html',
        /**
         * @brief:
         * @param {*} layero 弹出层最外层容器的 DOM 对象
         * @param {*} index 当前层的索引
         * @return {*}
         */
        success: function (layero, index) {
          console.log('回调的参数', layero, index)

          var body = layer.getChildFrame('body', index)
          console.log('获取到子页面的body', body)
          var iframeWin = window[layero.find('iframe')[0]['name']] //得到iframe页的窗口对象，执行iframe页的方法：iframeWin.method();
          iframeWin.method()
          console.log(body.html()) // 得到iframe页的body内容
          body.find('input').val('Hi，我是从父页来的')
        },
      })
    </script>
  </body>
</html>
